|
Расположение в меню |
---|
Эскиз → Ограничения эскиза → Ограничить касательную или коллинеарность |
Верстаки |
Скетчер |
Быстрые клавиши |
T |
Представлено в версии |
- |
См. также |
Нет |
Инструмент Ограничить касательную или коллинеарность ограничивает два ребра или ребро и ось, чтобы они стали касательными. Линии рассматриваются как бесконечные, а открытые кривые также виртуально продлеваются. Ограничение также может соединять два ребра, заставляя их быть касательными на стыке. Если выбраны две линии или одна линия и конечная точка другой линии, то линии становятся коллинеарными.
Смотри также: Вспомогательные инструменты рисования.
Два ребра становятся касательными. Если одно из рёбер является округлым, добавляется объект Точкаа, имеющий ограничение Точки на объекте с обоими (продлёнными) рёбрами.
Не рекомендуется реконструировать точку касания созданием точки и установкой принадлежности её обоим кривым. Это будет работать, но конвергенция будет значительно медленнее, сложнее, и потребует вдвое больше итераций чем в норме. Используйте другие режимы этого ограничения, если нужна точка касания.
The endpoints are made coincident, and the angle between the edges at that point is set to 180° (smooth joint) or 0° (sharp joint), depending on the placement of the edges before the constraint is applied.
В этом режиме конечная точка одной кривой ограничивается лежать на другой кривой так, чтобы обе кривые были касательными в этой точке. Этот режим применяется, когда выделены кривая и конечная точка другой кривой.
В этом режиме две кривые делаются касательными и отслеживается точка касания. Этот режим применяется, когда выделены две кривые и точка.
В сравнении с прямой касательностью, это ограничение медленнее, поскольку привлекается большее число степеней свободы, но если нужна точка касания, это рекомендованный режим, поскольку он предлагает лучшую сходимость в сравнении к прямому касанию + точке на двух кривых.
The two lines are made collinear.
Ограничение касательности может создаваться из макросов и из консоли Python следующим образом:
# direct tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,icurve2))
# point-to-point tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2,pointpos2))
# point-to-curve tangency
Sketch.addConstraint(Sketcher.Constraint('Tangent',icurve1,pointpos1,icurve2))
# tangent-via-point (plain constraint, helpers are not added automatically)
Sketch.addConstraint(Sketcher.Constraint('TangentViaPoint',icurve1,icurve2,geoidpoint,pointpos))
Где:
Sketch
это объект эскизаicurve1
, icurve2
это два целых идентификатора кривых, которые станут касательными. Целые это индексы в эскизе (значения, возвращаемые Sketch.addGeometry
).pointpos1
, pointpos2
должны быть 1 для начальной и 2 для конечной точки.geoidpoint
и pointpos
в TangentViaPoint
это индексы, указывающие точку касания.На странице Программирование в Sketcher объясняются значения, которые можно использовать для incurve1
, incurve2
, pointpos1
, pointpos2
, geoidpoint
и pointpos
а также содержатся дополнительные примеры того, как создавать ограничения из сценариев Python.